#ifndef CUSTOMER_HH
#define CUSTOMER_HH

#include "Account.hh"
#include <string>
#include <vector>
class CheckingAccount;  // 前置声明
class SavingsAccount; 

class Bank; // Forward declaration

class Customer {
private:
    std::string name;
    SavingsAccount* savingsAccount;
    CheckingAccount* checkingAccount;
    Bank* bank;
public:
    Customer();
    Customer(const std::string& name, const std::string& savingsID, const std::string& checkingID, Bank* bank);
    ~Customer();
    Customer(const Customer& other) ;
    Customer& operator=(const Customer& other);

    const std::string& getName() const;
    SavingsAccount* getSavingsAccount() const;
    CheckingAccount* getCheckingAccount() const;

    void accessAccounts();
};

#endif // CUSTOMER_HH